#include <math.h>
#include <stdbool.h>

float asincosf( float x, bool isacos );

float acosf( float x ) _FLOAT_FUNC_REENTRANT {
  if( x == 1.0 ) {
    return 0.0;
  } else if( x == -1.0 ) {
    return PI;
  } else if( x == 0.0 ) {
    return HALF_PI;
  } else               {
    return asincosf( x, true );
  }
}
